import os

SECRET_KEY = os.environ.get('SECRET_KEY') or 'secret'

basepath = os.path.abspath(os.path.dirname(__file__))

# 上传图片文件最大大小
MAX_CONTENT_LENGTH = 3 * 1024 * 1024
# 用户注册成功后默认头像文件名
DEFAULT_AVATAR = 'default.png'

DEBUG = True

# DB 部分
DB_HOST = os.environ.get('DB_HOST', 'localhost')
DB_PORT = os.environ.get('DB_PORT', 3306)
DB_USER = os.environ.get('DB_USER', 'root')
DB_PASSWORD = os.environ.get('DB_PASS', '5201314jj^^')
print(DB_HOST, DB_PORT, DB_USER, DB_PASSWORD)
SQLALCHEMY_DATABASE_URI = f'mysql+pymysql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/myWebProject?charset=utf8mb4'

# 连接池核心参数
SQLALCHEMY_POOL_SIZE = 10          # 连接池常驻连接数 [3,4](@ref)
SQLALCHEMY_MAX_OVERFLOW = 20       # 最大溢出连接数 [3,4](@ref)
SQLALCHEMY_POOL_RECYCLE = 3600     # 连接回收时间（秒），避免数据库超时断开 [3,4](@ref)
SQLALCHEMY_POOL_TIMEOUT = 30       # 获取连接的超时时间（秒） [3](@ref)
SQLALCHEMY_POOL_PRE_PING = True    # 使用前检查连接有效性（生产环境必选） [4](@ref)

# 其他配置
SQLALCHEMY_TRACK_MODIFICATIONS = False  # 禁用对象修改追踪（减少开销）[6](@ref)
SQLALCHEMY_ECHO = False                 # 关闭SQL日志（调试时可开启）[6](@ref)

REDIS_URL = os.environ.get('REDIS_URL', 'redis://localhost:6379/0')